package net.ericaro.neojavagen.expressions;

/**
 * <b>TypeNonWildTypeMethodInvocation</b> ::= <{@link net .ericaro .neojavagen .names .TypeName TypeName}> "." <
 * {@link net .ericaro .neojavagen .classes .NonWildTypeArguments NonWildTypeArguments}> <{@link net .ericaro .neojavagen .types .Identifier Identifier}> "(" <
 * {@link net .ericaro .neojavagen .expressions .Arguments Arguments}> ")"
 * 
 * @author eric@ericaro.net
 */
public class TypeNonWildTypeMethodInvocation extends net.ericaro.neojavagen.JavaPartComposition implements net.ericaro.neojavagen.expressions.MethodInvocation {
	private net.ericaro.neojavagen.expressions.Arguments arguments;

	private net.ericaro.neojavagen.types.Identifier identifier;

	private net.ericaro.neojavagen.classes.NonWildTypeArguments nonWildTypeArguments;

	private net.ericaro.neojavagen.names.TypeName typeName;

	public TypeNonWildTypeMethodInvocation(net.ericaro.neojavagen.names.TypeName typeName, net.ericaro.neojavagen.classes.NonWildTypeArguments nonWildTypeArguments, net.ericaro.neojavagen.types.Identifier identifier, net.ericaro.neojavagen.expressions.Arguments arguments) {
		super();
		this.typeName = typeName;
		this.nonWildTypeArguments = nonWildTypeArguments;
		this.identifier = identifier;
		this.arguments = arguments;
	}

	public net.ericaro.neojavagen.expressions.Arguments getArguments() {
		return arguments;
	}

	public net.ericaro.neojavagen.types.Identifier getIdentifier() {
		return identifier;
	}

	public net.ericaro.neojavagen.classes.NonWildTypeArguments getNonWildTypeArguments() {
		return nonWildTypeArguments;
	}

	public net.ericaro.neojavagen.names.TypeName getTypeName() {
		return typeName;
	}

	public void setArguments(net.ericaro.neojavagen.expressions.Arguments arguments) {
		this.arguments = arguments;
	}

	public void setIdentifier(net.ericaro.neojavagen.types.Identifier identifier) {
		this.identifier = identifier;
	}

	public void setNonWildTypeArguments(net.ericaro.neojavagen.classes.NonWildTypeArguments nonWildTypeArguments) {
		this.nonWildTypeArguments = nonWildTypeArguments;
	}

	public void setTypeName(net.ericaro.neojavagen.names.TypeName typeName) {
		this.typeName = typeName;
	}

	@Override
	public java.lang.String toString() {
		return print(typeName, ".", nonWildTypeArguments, identifier, "(", arguments, ")");
	}
}
